package br.com.sgdee.bo.remote;

import java.io.Serializable;
import java.util.List;

import javax.ejb.Local;

import br.com.sgdee.bo.PessoaBO;
import br.com.sgdee.dto.PessoaDTO;
import br.com.sgdee.entidades.acesso.Pessoa;


@Local(value = PessoaBO.class)
public interface PessoaBORemote extends Serializable {

	
	/**
	 * Recuperar o usuário logado no sistema
	 * 
	 * @param email
	 * @param senha
	 * @return
	 */
	Pessoa recuperarPessoaLogin(String email, String senha);
	
	/**
	 * Método que faz buscas a partir de um filtro
	 * 
	 * @param filtro
	 * @return {@link Pessoa}
	 */
	List<Pessoa> recuperarTodosFiltro(PessoaDTO filtro);
	
	
	/**
	 * Retorna quantidade de registros a partir de um filtro
	 * 
	 * @param filtro
	 * @return {@link Pessoa}
	 */
	Integer quantidadeRegistros(PessoaDTO filtro);
	
	
	/**
	 * Salva ou atualiza um entidade
	 * 
	 * @param {@link Pessoa} entidade
	 */
	void salvarOuAtualizar(Pessoa entidade);
	
	
	/**
	 * exclui um registro do banco de dados
	 * 
	 * @param {@link Pessoa} entidade
	 */
	void excluir(Pessoa entidade);
}
